草庐IT

PHPDoc 和 __callStatic

全部标签

php - 可迭代对象的正确 phpdoc 注释?

我在尝试为以下代码示例获取正确的自动完成时遇到了一些问题。我在Win7机器上使用PHPStorm7。首先只是一个简单的类。/***ClassmyObject*/classmyObject{/***somemethod*/publicfunctionmyMethod(){//dosomething}}这个是集合类,它可以包含先前类的多个实例并实现了IteratorAggregate接口(interface)。/***ClassmyCollection*/classmyCollectionimplementsIteratorAggregate{/***@varmyObject[]*/pro

PhpDoc 在类中包含的文件中为自己添加符号

我有一个类,它包含一个文件,方法如下:在class.php文件中:classA{constCONST1=5;/**@varint$a*/var$a=5;publicfunctioncall(){include('b.php');}publicfunctiondo_some_magic(){//magicstuff...}publicstaticfunctionstatic_func(){//somecode...}}文件b.php:do_some_magic();echo'['.$this->a.']';self::static_func();echo'['.self::CONST1.

php - 工厂方法的正确 phpdoc @return

我很好奇如何记录以下场景。想象一组类:abstractclassPersonality{}classMeextendsPersonality{}classMyselfextendsPersonality{}classIreneextendsPersonality{}如果我正在编写工厂式方法来实例化并返回Personality类的子类,我将如何正确记录@return?@returnmixedA"Personality"subclassobject或@returnPersonalityA"Personality"subclassobject 最佳答案

php - PHPDoc 的冗长是否比它的值(value)更麻烦?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我今天第一次尝试使用PHPDoc,很快就遇到了问题。对于每1行变量声明,我至少有5行注释。示例:/***Holdspaththeremoteserver*@name...*@global...*/$myvar=...当然,返回不错-但这会将10行的配置文件变成60行的文件。我花了很长时间才填满,而且我还不相信它比简单的一行增加了那么多。它还会给我的工作流程带来麻烦。一切都很好,直到我需要进

动态魔术属性(或方法)的 PHPdoc

我最近创建了一个类来创建HTML元素。我没有为每个现有的HTML元素和属性创建一个方法,而是决定使用魔法方法__get和__call。所以用我的代码我基本上可以做到这一点:$signUpForm->insert->input->type('text')->name('firstName')->maxlength(100)->disabled$signUpForm->insert->input->type('email')->name('emailAddress')->maxlength(100)等等但由于我决定保持这种“魔法”和简单,我也可以这样做:$signUpForm->inser

php - 为什么 PHP 更喜欢 __call() 而不是 __callStatic()?

当我尝试这个时:bar();我期待这样的输出:from__callStatic...相反,它给出:from__call。有人能解释一下为什么吗?编辑:确切地说,我想知道为什么如果我删除__call函数,那么它会触发__callStatic并且是否有办法当声明__call时触发__callStatic。 最佳答案 这里发生了两件事,首先:PHP支持classname::method作为parent::method的别名,以及跳过树中某些类的方法asdemonstratedhere.其次,parent::不是静态调用,使用parent:

php - 如果我使用 use 导入类,我应该在 PHPDoc 中使用 FQN 吗?

假设我有一个UserController类,我正在使用use导入App\User类。在内部,有一个show()方法接收User的实例。namespaceApp\Http\Controllers;useApp\User;classUserControllerextendsController{/***Showuserinfo**@paramUser$user*@returnIlluminate\Http\JsonResponse*/publicfunctionshow(User$user){//Dosomething...}}是否建议在PHPDoc中添加User的完全限定名称,即使我正在

php - 如何用 PHP 解析 phpDoc 风格的注释 block ?

请考虑以下代码,我试图用它仅解析文件中的第一个phpDoc样式注释(不使用任何其他库)(文件内容放入$data变量用于测试目的):$data="/***@fileAlotofinfoaboutthisfile*Couldevencontinueonthenextline*@authorme@example.com*@version2010-05-01*@tododostuff...*//***Commentbijfunctiebar()*@paramArraymetdingen*/functionbar($baz){echo$baz;}";$data=trim(preg_replace

php - 为什么调用 __call 而不是 __callStatic

我试图引用这个question在SO上,但仍然不明白。bar();(newB)->foo();据我了解,bar函数静态调用类A上的foo方法,但foo方法使用A的实例调用该方法,该实例是B的父级。我期待它应该给我:I'mthe__callStatic()magicmethodI'mthe__call()magicmethod但是,显然,我得到:I'mthe__call()magicmethodI'mthe__call()magicmethod 最佳答案 来自相关issue:...A::foo()isnotnecessarilyast

php - Eclipse 完成 - @var (PHPDoc) 问题

我有一个奇怪的问题。当我在模型加载方法中使用@returnModel\Article时,我会在Eclipse的自动完成中看到模型的方法。模型加载方法返回更多对象,所以我希望它@returnMy\BaseModel然后放入/*@var$modelModel\Article*/具体针对每个模型(当我使用它时)。问题是@returnModel\Article运行良好(我看到Model\Article+My\BaseModel方法)但是其他方式(@returnMy\BaseModel和内联/*...*/)没有-它说'没有可用的完成'.我尝试在$model=...;之前和之后放置内联注释,但都不